home *** CD-ROM | disk | FTP | other *** search
- _START move.l a0,_arg
- clr.b (-1,a0,d0.w)
- movea.l $4.w,a6
- move.l a6,_ExecBase
- lea (DOSName,pc),a1
- moveq #37,d0
- jsr (-552,a6) ; OpenLibrary()
- move.l d0,_DOSBase
- beq.s .FINISH
-
- movea.l d0,a6
- jsr (-60,a6) ; Output()
- move.l d0,_stdout
- jsr (-54,a6) ; Input()
- move.l d0,_stdin
-
- movea.l $4.w,a6
- lea (IntName,pc),a1
- moveq #37,d0
- jsr (-552,a6) ; OpenLibrary()
- move.l d0,_IntuitionBase
- beq.s .CLOSEDOS
-
- lea (GfxName,pc),a1
- moveq #37,d0
- jsr (-552,a6) ; OpenLibrary()
- move.l d0,_GfxBase
- beq.s .CLOSEINT
-
- lea (PPCName,pc),a1
- moveq #7,d0
- jsr (-552,a6) ; OpenLibrary()
- move.l d0,_PowerPCBase
- beq.s .CLOSEGFX
- movea.l d0,a6
-
- lea (ppcstruct,pc),a0 ; load ppc structure
- xref _LinkerDB
- lea _LinkerDB,a4 ; get local data
- move.l _PowerPCBase,a1 ; get powerpc.library pointer
- move.l a4,$44(a0) ; store a4/r2
- jsr (-30,a6)
- lea (ppcstruct,pc),a0
- move.l (20,a0),d2
-
- movea.l 4.w,a6
- movea.l _PowerPCBase,a1
- jsr (-414,a6) ; CloseLibrary()
- .CLOSEGFX movea.l _GfxBase,a1
- jsr (-414,a6) ; CloseLibrary()
- .CLOSEINT movea.l _IntuitionBase,a1
- jsr (-414,a6) ; CloseLibrary()
- .CLOSEDOS movea.l _DOSBase,a1
- jsr (-414,a6) ; CloseLibrary()
- .FINISH move.l d2,d0
- rts
- ****************************************
- DOSName dc.b 'dos.library',0
- IntName dc.b 'intuition.library',0
- GfxName dc.b 'graphics.library',0
- PPCName dc.b 'powerpc.library',0
- cnop 0,4
- ****************************************
- xref _main
- ppcstruct dc.l _main
- dc.l 0,0,0,0
- dc.l 0,0,0,0,0,0,0,0 ; d0-d7
- dc.l 0,0,0,0,0,0,0 ; a0-a6
- dc.d 0,0,0,0,0,0,0,0 ; fp0-fp7
- ****************************************
- xdef _DOSBase
- xdef _IntuitionBase
- xdef _GfxBase
- xdef _ExecBase
- xdef _PowerPCBase
- xdef _arg
- xdef _stdout
- xdef _stdin
- ****************************************
- section ".tocd",data
- dcb.b 32,0
- _PowerPCBase dc.l 0
- _ExecBase dc.l 0
- _DOSBase dc.l 0
- _IntuitionBase dc.l 0
- _GfxBase dc.l 0
- _arg dc.l 0
- _stdout dc.l 0
- _stdin dc.l 0
-